﻿using System;
using FacebookAPI.FacebookProperties;
using System.Runtime.Serialization;

namespace FacebookAPI.Objects
{
    [DataContract]
    public class Album : FacebookBaseObject
    {
        [DataMember(Name = "can_upload", EmitDefaultValue = true, IsRequired = false)]
        public bool CanUpload { get; set; }

        [DataMember(Name = "count", EmitDefaultValue = true, IsRequired = false)]
        public int Count { get; set; }

        [DataMember(Name = "cover_photo", EmitDefaultValue = true, IsRequired = false)]
        public string CoverPhoto { get; set; }

        [DataMember(Name = "created_time", EmitDefaultValue = true, IsRequired = false)]
        public string Created_Time { get; set; }

        [DataMember(Name = "description", EmitDefaultValue = true, IsRequired = false)]
        public string Description { get; set; }

        [DataMember(Name = "from", EmitDefaultValue = true, IsRequired = false)]
        public FacebookBaseObject From { get; set; }

        [DataMember(Name = "link", EmitDefaultValue = true, IsRequired = false)]
        public Uri Link { get; set; }

        [DataMember(Name = "location", EmitDefaultValue = true, IsRequired = false)]
        public string Location { get; set; }

        [DataMember(Name = "place", EmitDefaultValue = true, IsRequired = false)]
        public FacebookBaseObject Place { get; set; }

        [DataMember(Name = "privacy", EmitDefaultValue = true, IsRequired = false)]
        public string Privacy { get; set; }

        [DataMember(Name = "type", EmitDefaultValue = true, IsRequired = false)]
        public string Type { get; set; }

        [DataMember(Name = "updated_time", EmitDefaultValue = true, IsRequired = false)]
        public string UpdatedTime { get; set; }
    }
}
